↳ ITRS
↳ ITRStoIDPProof
z
Cond_f(TRUE, x) → f(x)
f(x) → Cond_f(<@z(*@z(x, x), 0@z), x)
Cond_f(TRUE, x0)
f(x0)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
z
Cond_f(TRUE, x) → f(x)
f(x) → Cond_f(<@z(*@z(x, x), 0@z), x)
(0) -> (1), if ((x[0] →* x[1]))
(1) -> (0), if ((x[1] →* x[0])∧(<@z(*@z(x[1], x[1]), 0@z) →* TRUE))
Cond_f(TRUE, x0)
f(x0)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
z
(0) -> (1), if ((x[0] →* x[1]))
(1) -> (0), if ((x[1] →* x[0])∧(<@z(*@z(x[1], x[1]), 0@z) →* TRUE))
Cond_f(TRUE, x0)
f(x0)
(1) (x[0]=x[1]1∧<@z(*@z(x[1], x[1]), 0@z)=TRUE∧x[1]=x[0] ⇒ COND_F(TRUE, x[0])≥NonInfC∧COND_F(TRUE, x[0])≥F(x[0])∧(UIncreasing(F(x[0])), ≥))
(2) (<@z(*@z(x[1], x[1]), 0@z)=TRUE ⇒ COND_F(TRUE, x[1])≥NonInfC∧COND_F(TRUE, x[1])≥F(x[1])∧(UIncreasing(F(x[0])), ≥))
(3) (-1 + (-1)x[1]2 ≥ 0 ⇒ (UIncreasing(F(x[0])), ≥)∧-1 + (-1)Bound ≥ 0∧-1 ≥ 0)
(4) (-1 + (-1)x[1]2 ≥ 0 ⇒ (UIncreasing(F(x[0])), ≥)∧-1 + (-1)Bound ≥ 0∧-1 ≥ 0)
(5) (-1 + (-1)x[1]2 ≥ 0 ⇒ -1 + (-1)Bound ≥ 0∧(UIncreasing(F(x[0])), ≥)∧-1 ≥ 0)
(6) (-1 + (-1)x[1]2 ≥ 0∧x[1] ≥ 0 ⇒ -1 + (-1)Bound ≥ 0∧(UIncreasing(F(x[0])), ≥)∧-1 ≥ 0)
(7) (-1 + (-1)x[1]2 ≥ 0∧x[1] ≥ 0 ⇒ -1 + (-1)Bound ≥ 0∧(UIncreasing(F(x[0])), ≥)∧-1 ≥ 0)
(8) (F(x[1])≥NonInfC∧F(x[1])≥COND_F(<@z(*@z(x[1], x[1]), 0@z), x[1])∧(UIncreasing(COND_F(<@z(*@z(x[1], x[1]), 0@z), x[1])), ≥))
(9) ((UIncreasing(COND_F(<@z(*@z(x[1], x[1]), 0@z), x[1])), ≥)∧0 ≥ 0∧0 ≥ 0)
(10) ((UIncreasing(COND_F(<@z(*@z(x[1], x[1]), 0@z), x[1])), ≥)∧0 ≥ 0∧0 ≥ 0)
(11) (0 ≥ 0∧0 ≥ 0∧(UIncreasing(COND_F(<@z(*@z(x[1], x[1]), 0@z), x[1])), ≥))
(12) (0 ≥ 0∧0 = 0∧0 = 0∧0 ≥ 0∧(UIncreasing(COND_F(<@z(*@z(x[1], x[1]), 0@z), x[1])), ≥))
POL(0@z) = 0
POL(*@z(x1, x2)) = x1·x2
POL(TRUE) = 2
POL(FALSE) = -1
POL(<@z(x1, x2)) = -1
POL(undefined) = -1
POL(F(x1)) = -1
POL(COND_F(x1, x2)) = -1
COND_F(TRUE, x[0]) → F(x[0])
COND_F(TRUE, x[0]) → F(x[0])
F(x[1]) → COND_F(<@z(*@z(x[1], x[1]), 0@z), x[1])
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
z
Cond_f(TRUE, x0)
f(x0)